package com.li.proxy.jdk.util;

import com.li.proxy.jdk.OrderService;
import com.li.proxy.jdk.TimerInvocationHandler;

import java.lang.reflect.Proxy;

public class ProxyUtil {

    /**
     * 封装一个工具方法，可以根据这个方法获取代理对象
     * @param target
     * @return
     */
    public static Object newProxyInstance(Object target) {
        //底层调用的还是JDK的动态代理
        Object proxy = Proxy.newProxyInstance(
                target.getClass().getClassLoader(),
                target.getClass().getInterfaces(),
                new TimerInvocationHandler(target));
        return proxy;
    }
}
